Electronic devices are more frequently being operated as mobile devices, rather than being fixed to a single location. Cellular telephones, Personal Digital Assistants (PDAs), laptop computers, and the like, are all examples of devices that may be operated while their user is moving from place to place. While such devices may be well-adapted for running their own mobile applications, such devices are often ill-suited for interacting with other devices. For example, conventional notebook computers operating in a wireless environment can tell when another computer is within a communications range, but the only information provided to a user of such a computer is a notification that the other computer is available. If the user wishes to interact with the other computer, the user must typically make selections from a list of features. The list of features is usually the default listing, as would ordinarily be presented to the user whether another computer was within a communications range or not. Thus, the user must navigate through what is potentially a series of features that are unrelated to operations that may be desired based on the presence of the other computer.
As another example, a computer may be able to communicate with a digital camera for downloading digital pictures from the camera to the computer. Conventionally, if the camera is brought into the same room as the computer, a wireless communications link may be established between the two devices. However, and significantly, neither device will modify its behavior with respect to the other device. For example, if the user wishes to direct the computer to receive digital pictures from the camera, the user must operate the computer using a user interface that has not been modified to reflect the fact that the computer is currently able to communicate with the camera. As a result, the user may have to navigate through various unrelated screens, menus and so forth before being able to initiate the transfer of pictures.
Another shortcoming of conventional systems and methods for controlling devices is that a device typically only displays its own settings and features to a user, even when the device is able to communicate with another device. In the computer and camera example above, a user of the computer is only presented with features or options that are made available by the computer, rather than with features of both devices or with information regarding the system formed by the computer and the camera.
Yet another shortcoming of conventional systems and methods for controlling devices is that such systems and methods are unable to move the performance of features from one device to another. For example, if two laptop computers are placed in the same room, the computers will not divide the workload of presenting images, computational processing, etc., because neither computer has modified its behavior to enable such operations. In other words, neither conventional computer is able to “predict” how each will be used while operating in the presence of the other device.
Accordingly, what is needed is a method for modifying the behavior of an electronic device responsive to the detection of a remote device. More particularly, what is needed is a method for taking an action with respect to a feature that is affected by the presence of the remote computer. Even more particularly, what is needed is a method for enabling a device to effectively “predict” how it will be used by a user because of the features that are affected by being in operative communications with the remote device.